package simulador;

import java.util.ArrayList;
import java.util.Iterator;

public class Main {

    public static void main(String[] args) {
        ArrayList<Proceso> procesos = new ArrayList<>();
        procesos.add(new Proceso(0, 0, 10, 10));
        procesos.add(new Proceso(1, 0, 8, 8));
        procesos.add(new Proceso(2, 0, 12, 20));
        procesos.add(new Proceso(3, 0, 4, 4));
        procesos.add(new Proceso(4, 0, 10, 48));
        procesos.add(new Proceso(5, 0, 14, 24));
        procesos.add(new Proceso(6, 0, 8, 40));
        procesos.add(new Proceso(7, 0, 12, 22));
        /* Particiones fijas:
        ArrayList<Particion> particiones = new ArrayList<>();
        particiones.add(new Particion(0, 0, 8));
        particiones.add(new Particion(1, 8, 16));
        particiones.add(new Particion(2, 24, 32));
        particiones.add(new Particion(3, 56, 64));
        ArrayList<Estado> estados = Simulador.ParticionesFijas(procesos, particiones, Algoritmo.WorstFit);
        Iterator<Estado> itE = estados.iterator();
        while (itE.hasNext()){
            System.out.println(itE.next());
        }
        ArrayList<Estado> estados = Simulador.ParticionesVariables(procesos, 128, Algoritmo.FirstFit);
        Iterator<Estado> itE = estados.iterator();
        while (itE.hasNext()){
            System.out.println(itE.next());
        }
        */
        /*Particiones Variables*/
        ArrayList<EstadoVariable> estados = Simulador.ParticionesVariables(procesos, 128, Algoritmo.BestFit, true);
        Iterator<EstadoVariable> itE = estados.iterator();
        while (itE.hasNext()){
            System.out.println(itE.next());
        }
    }
    
}
